package org.chen.result;

import lombok.Data;

import java.io.Serializable;

@Data
public class BaseResponse<T> implements Serializable {
    // 状态码
    private Integer code;

    // 消息描述
    private String message;

    // 返回数据
    private T data;

    // 错误详情（可选）
    private String error;

    // 构造器
    public BaseResponse() {

    }

    // 成功响应
    public static <T> BaseResponse<T> success(T data) {
        BaseResponse<T> response = new BaseResponse<>();
        response.setCode(200);
        response.setMessage("Success");
        response.setData(data);
        return response;
    }

    // 错误响应
    public static <T> BaseResponse<T> error(Integer code, String message, String error) {
        BaseResponse<T> response = new BaseResponse<>();
        response.setCode(code);
        response.setMessage(message);
        response.setError(error);
        return response;
    }
}
